<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>websocket通讯</title>
</head>

<body>
        <p>【userId】：
        <div><input id="userId" name="userId" type="text" value="10"></div>
        <p>【toUserId】：
        <div><input id="toUserId" name="toUserId" type="text" value="20"></div>
        <p>【toUserId】：
        <div><input id="contentText" name="contentText" type="text" value="[1,0]"></div>

        <div><input class="cla"   onclick="onchangeValue(this)" id = 'start'  name="contentText" type="button" value="[00,0]">开</input></div>
        <div><button class="cla" id = 'end'  name="contentText" type="text" value="[00,1]">关</button></div>

        <p>【操作】：
        <div><input type="button" onclick="openSocket()" value="开启socket"></div>
        <p>【操作】：
        <div><input type="button" onclick="sendMessage()"  value="确定"/></div>
        收到：<input value="" id="receive">
</body>


<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
    var socket;

    function openSocket() {
        if (typeof (WebSocket) == "undefined") {
            console.log("您的浏览器不支持WebSocket");
        } else {
            console.log("您的浏览器支持WebSocket");
            //实现化WebSocket对象，指定要连接的服务器地址与端口  建立连接
            //等同于socket = new WebSocket("ws://localhost:8888/xxxx/im/25");
            //var socketUrl="${request.contextPath}/im/"+$("#userId").val();
            var socketUrl = "http://localhost:8080/imserver/" + $("#userId").val();
            socketUrl = socketUrl.replace("https", "ws").replace("http", "ws");
            console.log(socketUrl);
            if (socket != null) {
                socket.close();
                socket = null;
            }
            socket = new WebSocket(socketUrl);
            //打开事件
            socket.onopen = function () {
                console.log("websocket已打开");
                //socket.send("这是来自客户端的消息" + location.href + new Date());
            };
            //获得消息事件
            socket.onmessage = function (msg) {
                    console.log("收到："+msg.data);
                    console.log(msg.data)
                    $("#receive").val(msg.data)
                    //TODO 发现消息进入    开始处理前端触发逻辑



            };
            //关闭事件
            socket.onclose = function () {
                console.log("websocket已关闭");
            };
            //发生了错误事件
            socket.onerror = function () {
                console.log("websocket发生了错误");
            }
        }
    }

    function sendMessage() {
        if (typeof (WebSocket) == "undefined") {
            console.log("您的浏览器不支持WebSocket");
        } else {
            console.log("您的浏览器支持WebSocket");
            console.log('{"toUserId":"' + $("#toUserId").val() + '","contentText":"' + $("#contentText").val() + '"}');
            socket.send('{"toUserId":"' + $("#toUserId").val() + '","contentText":"' + $("#contentText").val() + '"}');
        }
    }
    // $(".cal").change(function () {
    //         var value = $(this).val();
    //         onchange(value);
    // });
    // $(document).ready(function () {
    //         onchange();
    // }

    function onchangeValue(_this) {
            var value = $(_this).val();
            console.log(this);
        if (typeof (WebSocket) == "undefined") {
            console.log("您的浏览器不支持WebSocket");
        } else {
            console.log("您的浏览器支持WebSocket");
            console.log('{"toUserId":"' + $("#toUserId").val() + '","contentText":"' + $("#contentText").val() + '"}');
            // socket.send('{"toUserId":"' + $("#toUserId").val() + '","contentText":"' + $("#contentText").val() + '"}');
            socket.send('{"toUserId":"' + $("#toUserId").val() + '","contentText":"' + value + '"}');
        }
    }
</script>
</html>
